local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local __TS__New = ____lualib.__TS__New
local NetDispatcher = require("system.utility.netdispather")
local ActorEventDispatcher = require("system.actor.actorevent")
local TestSystem = __TS__Class()
TestSystem.name = "TestSystem"
function TestSystem.prototype.____constructor(self)
    self.system_id = 0
    self.system_type = 0
    NetDispatcher:reg(self.OnNetReqTestDataMsg, Protocol.CMD_Base, Protocol_Base.cBaseCmd_GmCmd)
    ActorEventDispatcher:regEvent(ActorEventId.OnLogin, self.OnActorLoginEvent)
end
function TestSystem.getInstance(self)
    if not TestSystem._instance then
        TestSystem._instance = __TS__New(TestSystem)
    end
    return TestSystem._instance
end
function TestSystem.prototype.OnActorLoginEvent(self, actor)
    print("OnActorLogin")
end
function TestSystem.prototype.OnNetReqTestDataMsg(self, actor, net_pack)
    print("OnNetReqTestDataMsg")
end
function TestSystem.prototype.getActorstaticData(self, actor)
    local varData = LActor.getStaticData(actor)
    if not varData then
        return nil
    end
    if varData.baseData == nil then
        varData.baseData = {
            actorId = 0,
            name = LActor.getName(actor),
            tdata = {type = 10, value = 10, array_info = {1, 2, 3}}
        }
    end
    local baseData = varData.baseData
    if baseData.name == nil then
        baseData.name = LActor.getName(actor)
    end
    return baseData
end
function TestSystem.prototype.getTestData(self, actor)
    local svar = self:getActorstaticData(actor)
    return svar and svar.tdata or nil
end
function TestSystem.prototype.OnInit(self)
end
function TestSystem.prototype.TestPrintFuncPublic(self)
    print("TestPrintFuncPublic")
end
function TestSystem.prototype.TestPrintFuncPrivate(self)
    self:TestPrintFuncPublic()
    print("TestPrintFuncPrivate")
end
TestSystem.system_name = "TestSystem"
local ____exports = __TS__New(TestSystem)
return ____exports
